//package cn.com.wms.Base;
//
//import java.text.MessageFormat;
//import java.util.Locale;
//import java.util.ResourceBundle;
//
//import javax.servlet.http.HttpServletRequest;
//
//public class LocaleMessage
//{
//	
//	private static ResourceBundle reportMsg = null;
//
//    public static String getLanguage()
//    {
//        return getLocale().getLanguage();
//    }
//
//    public static String getLocalizedMessage(String key)
//    {
//        FacesContext context = FacesContext.getCurrentInstance();
//        String bundleName = "";
//        bundleName = context.getApplication().getMessageBundle();
//        Locale local = null;
//        if (context.getExternalContext() != null)
//        {
//            HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
//            if (req != null)
//            {
//                local = (Locale) req.getSession().getAttribute("localeEncoding");
//            }
//            else
//            {
//                local = Locale.CHINESE;
//            }
//        }
//        else
//        {
//            local = Locale.CHINESE;
//        }
//
//        ResourceBundle rb = ResourceBundle.getBundle(bundleName, local == null ? getLocale() : local);
//        
//        String retStr = rb.getString(key);
////        // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
////        if (retStr != null)
////            retStr = retStr.replace("$$", "");
//        return retStr;
//    }
//
//    public static String getMessage(String key)
//    {
//        try
//        {
//            String retStr = getLocalizedMessage(key);
//            // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
//            if (retStr != null){
//            	
//            	retStr = retStr.replace("$$", " ");
//            	retStr = retStr.replace("\\r", " ");
//            }
//            return decodeUnicode(retStr);
//        }
//        catch (Exception e)
//        {
//            try
//            {
//                ResourceBundle rb = ResourceBundle.getBundle("ApplicationResources");
//                String retStr = rb.getString(key);
//                // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
//                if (retStr != null){
//                	retStr = retStr.replace("$$", " ");
//                	retStr = retStr.replace("\\r", " ");
//                } 
//                return retStr;
//            }
//            catch (Exception e1)
//            {
//
//                return "";
//            }
//        }
//    }
//    
//    public static String getMessageWithArgs(String key,Object[] args)
//    {
//            String retStr = getMessage(key);
//            MessageFormat formator = new MessageFormat(getMessage(key));
//            if(args != null) {
//            	retStr = formator.format(args);
//            }
//            return retStr;
//    }
//    
//    public static String getMessageForJsp(String key)
//    {
//        try
//        {
//            String retStr = getLocalizedMessage(key);
//            StringBuilder sb = new StringBuilder("");
//            // 显示时替换资源文件中 中英文换行符号$$
//            if (retStr != null){
//            	String[] tempstr = retStr.split("\\${2}");
//            	sb.append("<table width='100%'  border='0'> <tr> <td nowrap>").append(tempstr[0]).append("</td> </tr>");
//            	if(tempstr.length > 1) {
//            		sb.append("<tr> <td nowrap>").append(tempstr[1]).append("</td> </tr> ");
//            	}
//            	sb.append("</table>");
//            	
//            }
//            return sb.toString();
//        }
//        catch (Exception e)
//        {
//            try
//            {
//                ResourceBundle rb = ResourceBundle.getBundle("ApplicationResources");
//                String retStr = rb.getString(key);
//                StringBuilder sb = new StringBuilder("");
//                // 显示时替换资源文件中 中英文换行符号$$
//                if (retStr != null){
//                	String[] tempstr = retStr.split("\\${2}");
//                	sb.append("<table width='100%'  border='0'> <tr> <td nowrap>").append(tempstr[0]).append("</td> </tr>");
//                	if(tempstr.length > 1) {
//                		sb.append("<tr> <td nowrap>").append(tempstr[1]).append("</td> </tr> ");
//                	}
//                	sb.append("</table>");
//                	
//                }
//                return sb.toString();
//            }
//            catch (Exception e1)
//            {
//
//                return "";
//            }
//        }
//    }
//    
//    public static String getReportMessage(String key)
//    {
//        try
//        {
//        	reportMsg = ResourceBundle.getBundle("ApplicationResourcesReport");
//            String retStr = reportMsg.getString(key);
//            // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
//            if (retStr != null)
//                retStr = retStr.replace("$$", " ");
//            return retStr;
//        }
//        catch (Exception e)
//        {
//            return "no proper value";
//        }
//    }
//    
//    public static String getLocaleMessage(String key,Locale...locales)
//    {
//    	ResourceBundle msg = null;
//    	try
//    	{
//    		if(locales.length==0){
//    			msg = ResourceBundle.getBundle("ApplicationResources",Locale.CHINESE);
//    		} else if(locales.length == 1){
//    			msg = ResourceBundle.getBundle("ApplicationResources",locales[0]);
//    		}
//    		String retStr = msg.getString(key);
//    		return retStr;
//    	}
//    	catch (Exception e)
//    	{
//    		return "no proper value";
//    	}
//    }
//    public static String getLocaleMessageReport(String key,String locales)
//    {
//    	ResourceBundle msg = null;
//    	try
//    	{
//    		if("".equals(locales)){
//    			msg = ResourceBundle.getBundle("ApplicationResourcesReport",Locale.getDefault());
//    		}else if(locales.equals("en")){
//    			msg = ResourceBundle.getBundle("ApplicationResourcesReport",Locale.US);
//    		} else if(locales.equals("zh")){
//    			msg = ResourceBundle.getBundle("ApplicationResourcesReport",Locale.CHINESE);
//    		}
//    		String retStr = msg.getString(key);
//    		return retStr;
//    	}
//    	catch (Exception e)
//    	{
//    		return "no proper value";
//    	}
//    }
//    public static String getNewLineMessage(String key)
//    {
//        try
//        {
//            String retStr = getLocalizedMessage(key);
//            // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
//            if (retStr != null)
//                retStr = retStr.replace("$$", "<br>");
//            return retStr;
//        }
//        catch (Exception e)
//        {
//            try
//            {
//                ResourceBundle rb = ResourceBundle.getBundle("ApplicationResources");
//                String retStr = rb.getString(key);
//                // 显示时替换资源文件中 中英文换行符号$$ by ccg update 20090615
//                if (retStr != null)
//                    retStr = retStr.replace("$$", "<br>");
//                return retStr;
//            }
//            catch (Exception e1)
//            {
//
//                return "";
//            }
//        }
//    }
//    
//    /**  
//
//           * unicode 转换成 中文  
//
//           * @author fanhui  
//
//           * 2007-3-15  
//
//           * @param theString  
//
//           * @return  
//
//           */ 
//
//          public static String decodeUnicode(String theString) {  
//
//           char aChar;  
//
//           int len = theString.length();  
//
//           StringBuffer outBuffer = new StringBuffer(len);  
//
//           for (int x = 0; x < len;) {  
//
//            aChar = theString.charAt(x++);  
//
//            if (aChar == '\\') {  
//
//             aChar = theString.charAt(x++);  
//
//             if (aChar == 'u') {  
//
//              // Read the xxxx  
//
//              int value = 0;  
//
//              for (int i = 0; i < 4; i++) {  
//
//               aChar = theString.charAt(x++);  
//
//               switch (aChar) {  
//
//               case '0':  
//
//               case '1':  
//
//               case '2':  
//
//               case '3':  
//
//               case '4':  
//
//               case '5':  
//
//              case '6':  
//               case '7':  
//               case '8':  
//               case '9':  
//                value = (value << 4) + aChar - '0';  
//                break;  
//               case 'a':  
//               case 'b':  
//               case 'c':  
//               case 'd':  
//               case 'e':  
//               case 'f':  
//                value = (value << 4) + 10 + aChar - 'a';  
//               break;  
//               case 'A':  
//               case 'B':  
//               case 'C':  
//               case 'D':  
//               case 'E':  
//               case 'F':  
//                value = (value << 4) + 10 + aChar - 'A';  
//                break;  
//               default:  
//                throw new IllegalArgumentException(  
//                  "Malformed   \\uxxxx   encoding.");  
//               }  
//
//             }  
//              outBuffer.append((char) value);  
//             } else {  
//              if (aChar == 't')  
//               aChar = '\t';  
//              else if (aChar == 'r')  
//               aChar = '\r';  
//
//              else if (aChar == 'n')  
//
//               aChar = '\n';  
//
//              else if (aChar == 'f')  
//
//               aChar = '\f';  
//
//              outBuffer.append(aChar);  
//
//             }  
//
//            } else 
//
//            outBuffer.append(aChar);  
//
//           }  
//
//           return outBuffer.toString();  
//
//          }  
//
//
//
//}
